package com.xbongbong.paas.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.saas.domain.entity.CallCenterTeamEntity;

/**
 * @author youli.chen
 * @version v1.0
 * @description: 呼叫中心团队信息业务层
 * @date 2019/2/21 10:39
 * @since v1.0
 */
public interface CallCenterTeamService {

    /**
     * 根据销帮帮CRM的用户信息获取话务中心的团队账号
     *
     * @param corpid     公司id
     * @param depId      团队Id
     * @param moduleType 平台信息，参考CallCenterTypeEnum
     * @return CallCenterTeamEntity 话务中心团队信息 不存在则返回null
     */
    CallCenterTeamEntity getByXbbDepInfo(String corpid, Long depId, Integer moduleType);

    /**
     * 获取远程的团队详情信息
     *
     * @param apiKey     第三方话务平台的公司key
     * @param teamId     团队id
     * @param moduleType 话务中心平台信息
     * @return CallCenterTeamEntity 封装的话务平台信息
     * @throws XbbException 封装的异常
     */
    CallCenterTeamEntity getOriginTeamDetail(String apiKey, String teamId, Integer moduleType) throws XbbException;

    /**
     * 同步远程的团队信息
     *
     * @param localTeam  本地团队信息
     * @param originTeam 远程团队信息
     * @throws XbbException 封装的异常
     */
    void syncOriginTeamDetail(CallCenterTeamEntity localTeam, CallCenterTeamEntity originTeam) throws XbbException;
}
